Button Class(按钮类别) 您所在的位置:网站首页 class 类别 Button Class(按钮类别)

Button Class(按钮类别)

2023-08-01 04:44| 来源: 网络整理| 查看: 265

代码整理: 1.提供IsPressing信号,让其他模块或后续模块得知目前用户硬件输入状态。 2.OnPressed 信号,提供…目前是否刚刚按下此按钮。 3.OnReleased信号,…目前是否刚刚释放此按钮。

在Assets目录下新建类程式码(MyButton)1.不继承MonoBehavier;写入三种状态以及两种判断状态。

using System.Collections; using System.Collections.Generic; using UnityEngine; public class MyButton { /// /// 三种状态(缺省为false) /// public bool IsPressing = false; public bool OnPressed = false; public bool OnReleased = false; private bool curState = false; //目前的状态 private bool lastState = false; //前一次状态 public void Tick(bool input) { curState = input; IsPressing = curState; OnPressed = false; OnReleased = false; if(curState != lastState) { if(curState ==true ) { OnPressed = true; } else { OnReleased = true; } } lastState = curState; } }

2.整理多余代码:

/// /// 实例化MyButton按键 /// public MyButton buttonA = new MyButton(); public MyButton buttonB = new MyButton(); public MyButton buttonC= new MyButton(); public MyButton buttonD = new MyButton(); public MyButton buttonLB = new MyButton(); public MyButton buttonLT = new MyButton(); void Update () { //获取输入 buttonA.Tick(Input.GetButton(btnA)); buttonB.Tick(Input.GetButton(btnB)); buttonC.Tick(Input.GetButton(btnC)); buttonD.Tick(Input.GetButton(btnD)); buttonLB.Tick(Input.GetButton(btnLB)); buttonLT.Tick(Input.GetButton(btnLT)); //这四行可以代替以下很多行 动画播放的判断条件(直接控制) run = buttonA.IsPressing; jump = buttonB.OnPressed; attack = buttonC.OnPressed; defense = buttonB.IsPressing; }

这样实现了按键式和长摁式键入的整理优化。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有